#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
#include<vector>
using namespace std;


//class Solution {
//    const char* numToStr[10] = { "","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz" };
//public:
//    void Combinations(string digits, int di, vector<string>& ret, string str)
//    {
//        if (di == digits.size())
//        {
//            ret.push_back(str);
//            return;
//        }
//        int num = digits[di] - '0';
//        string tmp = numToStr[num];
//        for (auto Pa : tmp)
//        {
//            Combinations(digits, di + 1, ret, str + Pa);
//        }
//    }
//    vector<string> letterCombinations(string digits) {
//        vector<string> ret;
//
//        if (digits.empty())
//            return ret;
//        string str;
//        int i = 0;
//        Combinations(digits, 0, ret, str);
//        return ret;
//    }
//};
//
//int main()
//{
//    Solution().letterCombinations("238");
//    system("pause");
//}


//
//class Solution {
//public:
//    int StrToInt(string str) {
//        if (str.empty())
//        {
//            return 0;
//        }
//        int flag = 1;
//        if (str[0] == '-')
//        {
//            str[0] = '0';
//            flag = -1;
//        }
//        else if (str[0] == '+')
//        {
//            flag = 1;
//            str[0] = '0';
//        }
//        int num = 0;
//        for (size_t i = 0; i < str.size(); i++)
//        {
//            if (str[i] < '0' || str[i] > '9')
//            {
//                num = 0;
//                break;
//            }
//            num = num * 10 + (str[i] - '0');
//        }
//        num *= flag;
//        return num;
//    }
//};
#include"vector.h"

//int main()
//{
//	/*try
//	{
//		XM::Test_vector4();
//	}
//	catch (const exception& e)
//	{
//		cout << e.what() << endl;
//	}*/
//	string v = "abcdefg";
//
//	
//	system("pause");
//	return 0;
//}

//
//class Solution {
//public:
//    int singleNumber(vector<int>& nums) {
//        int result = 0;
//        for (size_t i = 0; i < nums.size(); i++)
//        {
//            result ^= nums[i];
//        }
//        return result;
//    }
//};


//class Solution {
//public:
//    vector<vector<int>> generate(int numRows) {
//        vector<vector<int>> vv;
//        vv.resize(numRows);
//        for (size_t i = 0; i < vv.size(); i++)
//        {
//            vv[i].resize(i + 1);
//            vv[i].front() = vv[i].back() = 1;
//        }
//
//        for (size_t i = 0; i < vv.size(); i++)
//        {
//            for (size_t j = 0; j < vv[i].size(); j++)
//            {
//                if (vv[i][j] == 0)
//                {
//                    vv[i][j] = vv[i - 1][j - 1] + vv[i - 1][j];
//                }
//            }
//        }
//        return vv;
//    }
//};



//class Solution {
//public:
//    int removeDuplicates(vector<int>& nums) {
//        int cur = 0;
//        int prev = 0;
//        while (cur < nums.size())
//        {
//            if (nums[cur] != nums[prev])
//            {
//                nums[++prev] = nums[cur++];
//            }
//            else
//            {
//                cur++;
//            }
//        }
//        return prev + 1;
//    }
//};




class Solution {
public:
    vector<int> singleNumber(vector<int>& nums) {
        vector<int> ret;
        for (size_t i = 0; i < nums.size(); i++)
        {
            int flag = 1;
            for (size_t j = 0; j < nums.size(); j++)
            {
                if (i == j)
                    continue;
                if (nums[i] == nums[j])
                {
                    flag = 0;
                    break;
                }
            }
            if (flag)
                ret.push_back(nums[i]);
        }
        return ret;
    }
};